草庐IT

java - 没有测试用例的 super JUnit 类

全部标签

ruby-on-rails - Ruby NET::HTTP 在主体之前读取 header (没有 HEAD 请求)?

我使用Net::HTTP和Ruby来抓取URL。我不想抓取流式音频,例如:http://listen2.openstream.co/334其实我只想抓取Html内容,所以没有pdfs、video、txt..现在,我将open_timeout和read_timeout都设置为10,所以即使我抓取这些流式音频页面,它们也会超时。url='http://listen2.openstream.co/334'path=uri.pathreq=Net::HTTP::Get.new(path,{'Accept'=>'*/*','Content-Type'=>'text/plain;charset=u

ruby-on-rails - 在 rails 3.1 中运行 rspec 测试时如何抑制/禁用 "cache miss"消息

在运行请求rspec规范时,我开始看到以下输出:cache:[GET/login]misscache:[GET/javascripts/jquery.min.js?1317513028]miss通常情况下,通过测试我会得到绿点,在错误消息中我会得到带有一些信息的红色F。有没有办法从输出中禁用缓存未命中消息? 最佳答案 我认为这与rspec无关,rspec只是打印出rails日志中的内容。我觉得这个postbyBrianWeaver在PhusionPassenger讨论组中可能会回答您的问题:Doyouhaverack-cachein

ruby - 有没有其他方法可以为 Ruby 挽救 LoadError?

我阅读了博文JRubyPerformance:Exceptionsarenotflowcontrol提倡在特殊情况下避免使用异常。我意识到我犯了定期使用rescue处理LoadErrors的错误。是否有require的替代方案,如果文件存在则尝试加载文件,但如果不存在则不抛出异常?背景:如果您想知道“为什么您的要求不是绝对要求?”,这是我的故事:当我为Ruby1.8编程时,我使用了require"rdoc/usage"以便在我没有在命令行应用程序中输入正确数量的参数时提供使用信息.这会在开箱即用的1.9上引发异常。当我的应用程序在我的Windows桌面上运行时,我的部分应用程序涉及操作

Ruby 1.9.3 - CSV.table 如何知道 CSV 文件中是否没有 header ?

我一直在用CSV.table做一些测试。我有两个几乎相同的小CSV文件,但其中一个缺少标题行。当我对带有标题行的CSV文件运行CSV.table时,一切都按预期进行。当我针对没有标题行的CSV文件运行它时,我得到:NoMethodError:undefinedmethod`encode'fornil:NilClass我用不同类型的数据、不同类型的header尝试了这个,并得到了相同的结果。我很好奇CSV.table的魔力。如果我使用CSV.parse并将标题设置为true,那么无论如何它总是使第一行成为标题。所以,我一直在使用CSV.table来检查导入的CSV文件是否有标题行,但我对

ruby - Rails 5 升级:在 ActionDispatch::ParamsParser (RuntimeError) 之后没有要插入的中间件

我正在将开发中的应用程序从Rails4.2升级到Rails5beta1.1。应用程序在升级前运行良好。我已经完成了基本的升级步骤(更新Ruby、更新Rails和相关步骤:http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html)。Gemfile也已更新为最新的Gems。当我运行$railsmiddleware或$railsconsole或$railsserver时,出现以下错误:Nosuchmiddlewaretoinsertafter:ActionDispatch::ParamsParser.../.rvm/gems

ruby-on-rails - 有没有办法阻止 Rails 的内置服务器默认监听 0.0.0.0?

我在不受信任的网络(咖啡店、邻居的开放式wifi、DEFCON)上进行了大量的Web开发,当随机的、肯定有错误的软件(比如我正在开发的Rails应用程序)在0.0上绑定(bind)一个端口时,我会感到紧张.0.0并开始接受所有来者的请求。我知道我可以使用-b选项指定绑定(bind)到服务器的地址,但我想全局更改默认值,以便它始终以这种方式运行,除非我另有说明。当然我也可以运行某种会阻止连接的防火墙,但最好不要一开始就监听。是否有“.railsrc”文件或类似文件——至少是每个项目的设置文件,但最好是一些全局设置文件——我可以使用它来强制服务器默认仅绑定(bind)到127.0.0.1?

ruby - 为什么 ruby​​ 方法没有词法作用域?

例如deftesta="aisforapple"definner_methoda="something"#thiswillrefertoadifferent"a"endinner_methodputsaend这有什么原因吗?block有词法作用域,那么为什么方法没有呢?这会被修复吗? 最佳答案 这是因为Ruby的方法不是一流的对象(例如,它们在IO中)。那么当你定义inner方法的时候,receiver是什么?大概是方法本身,或绑定(bind)或其他东西,但Ruby没有那么深的OO。无论如何,我不清楚您期望在您的示例中发生什么,您是

ruby-on-rails - 测试速度 : ActiveRecord use_transactional_fixtures vs. DatabaseCleaner.strategy = :transaction

从来源(database_cleaner,active_record)来看,它们应该同样快。但是有人声称使用database_cleaner的事务策略会降低Controller和模型规范的速度(forexample)。我手头没有用于基准测试的大型测试套件。任何人有任何见解或比较两者? 最佳答案 我花了一点时间在广泛使用ActiveRecord固定装置的中型代码库上比较两者。当我将其切换为使用DatabaseCleaner而不是use_transactional_fixtures时,模型规范开始花费大约两倍的时间。在进行了与您相同的比

ruby-on-rails - 如何在 Factory Girl 或 Minifacture 中使用随机唯一数据制作 Ruby 测试工厂?

我正在用一个典型的工厂测试一个典型的Rails模型:#Mymodelusesa3-letteruppercaseairportcode,#suchas"ATL"forAtlanta,"BOS"forBoston,etc.classAirport我正在添加更多测试并开始看到机场代码中的冲突:例如,工厂创建了一个代码为“XYZ”的机场,然后对工厂的后续调用尝试创建一个具有相同代码的机场。序列是解决这个问题的一种方法。例如,使用FactoryGirl序列、有序列表或预先计算的枚举,以及维护下一个可用代码状态的类似方法。我的问题是:解决这个问题的非序列方法是什么?我想使用随机数据,不是序列。我

ruby-on-rails - 在 RSpec 单元测试期间 stub 地址地理编码

我正在使用geocodergem将地理编码功能添加到我的ActiveRecord模型类之一。这很好用,但我实际上不希望在单元测试期间触发地理编码。我已经尝试通过将此添加到我的RSpec测试来消除对地理编码的调用:before(:each)doUser.stub!(:geocode).and_return([1,1])end但是,当我运行测试时,它似乎仍然在调用地理编码。我做错了什么?仅供引用,如果我在实例级别stub(例如some_user.stub!而不是User.stub!),这一切都有效。 最佳答案 如果你想在实例级别使用st